1 of 14

Recently I was tasked with converting a ColdFusion application to run on a ClusterCATS Web server cluster. Many questions that hadn't been addressed in the initial design of the application arose during this process. As I resolved each of the problems, I began thinking that other developers might benefit from my experience if I were to document the process, address the issues and write a "white paper." The result is this article, which I hope will assist ColdFusion developers in developing or converting a CF-based application to support "client state management" (see sidebar) in a clustered server environment.

Some of you may never run into the problems that can occur when an application is developed using session variables for client state management. Moreover, this article isn't intended to make "converts" out of developers wishing to use session variables. Every application and situation is unique (that's what makes application development so much fun, right?). Not all situations call for the changes I'm going to discuss in detail here. It's up to you, as a developer or project leader, to decide whether your application will be designed to use client or session variables to manage client state; this article will arm you with facts that can help you make an informed decision.

Assumptions
I'm going to assume you're familiar with the basic concepts of ColdFusion programming, including setting variables, outputting variables to a Web page and understanding variable "scope." I'll also assume you understand simple database transactions like updating, selecting, inserting and deleting data; basic database administration on your chosen database platform; and basic database terminology. It will also help for you to be familiar with ColdFusion Administrator and you certainly should have a working knowledge of your selected operating system, Web server and clustering software.

This article targets users of Microsoft SQL Server 7 with Enterprise Manager, ColdFusion 4+, Windows NT, IIS and ClusterCATS (included with CF Enterprise Edition). However, with knowledge of your particular applications, the steps outlined here can be applied to almost any combination of operating system, database platform, Web server and clustering technologies.

1 of 14